﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace mrp16062010
{
    class OrnekVeri
    {
        public static List<IsMerkezi> IsMerkeziList;
        public OrnekVeri()
        {
            OrnekRota = OrnekRotaFunc();

            List<IsMerkezi> Liste = new List<IsMerkezi>();

            for (int i = 1; i < 7; i++)
            {
                IsMerkezi merkez = new IsMerkezi(i, i.ToString() + " Merkez");
                merkez.UretimTuru = Rota.Operasyon.Tur.Montaj;
                merkez.Id = "IsMerkezi/" + i.ToString();
                Liste.Add(merkez);
            }

            for (int i = 7; i < 19; i++)
            {
                IsMerkezi merkez = new IsMerkezi(i, i.ToString() + " Merkez");
                merkez.UretimTuru = Rota.Operasyon.Tur.Imalat;
                merkez.Id = "IsMerkezi/" + i.ToString();
                Liste.Add(merkez);
            }

            IsMerkeziList = Liste;
        }

        public static List<Rota.Operasyon> OrnekOperasyonList()
        {
            List<IsMerkezi> Liste = new List<IsMerkezi>();
            IsMerkezi merkez1 = new IsMerkezi(1, "Birinci Merkez");
            Liste.Add(merkez1);
            IsMerkezi merkez2 = new IsMerkezi(2, "İkinci Merkez");
            Liste.Add(merkez2);
            IsMerkezi merkez3 = new IsMerkezi(3, "Üçüncü Merkez");
            Liste.Add(merkez3);

            Rota.Operasyon BoyamaOp = new Rota.Operasyon(1, "Boyama", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez1);
            Rota.Operasyon TaslamaOp = new Rota.Operasyon(2, "Taşlama", new TimeSpan(0, 1, 0), new TimeSpan(0, 5, 0), merkez2);
            Rota.Operasyon KaynakOp = new Rota.Operasyon(3, "Kaynak", new TimeSpan(0, 2, 0), new TimeSpan(0, 2, 0), merkez1);
            Rota.Operasyon MontajOp1 = new Rota.Operasyon(4, "Montaj 1", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez3);
            Rota.Operasyon MontajOp2 = new Rota.Operasyon(5, "Montaj 2", new TimeSpan(0, 1, 0), new TimeSpan(0, 5, 0), merkez2);
            Rota.Operasyon MontajOp3 = new Rota.Operasyon(6, "Montaj 3", new TimeSpan(0, 2, 0), new TimeSpan(0, 0, 0), merkez3);
            Rota.Operasyon TornaOp = new Rota.Operasyon(7, "Torna", new TimeSpan(0, 5, 0), new TimeSpan(0, 15, 0), merkez1);
            Rota.Operasyon MatkapOp = new Rota.Operasyon(8, "Matkap", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez3);
            List<Rota.Operasyon> OpList = new List<Rota.Operasyon>();
            OpList.Add(BoyamaOp);
            OpList.Add(TaslamaOp);
            OpList.Add(KaynakOp);
            OpList.Add(MontajOp1);
            OpList.Add(MontajOp2);
            OpList.Add(MontajOp3);
            OpList.Add(TornaOp);
            OpList.Add(MatkapOp);


            return OpList;
        }
        public static Rota.RotaParcasi OrnekRota;

        public static Rota.RotaParcasi OrnekRotaFunc()
        {
             List<IsMerkezi> Liste = new List<IsMerkezi>();
            IsMerkezi merkez1 = new IsMerkezi(1, "Birinci Merkez");
            Liste.Add(merkez1);
            IsMerkezi merkez2 = new IsMerkezi(2, "İkinci Merkez");
            Liste.Add(merkez2);
            IsMerkezi merkez3 = new IsMerkezi(3, "Üçüncü Merkez");
            Liste.Add(merkez3);

            Rota.Operasyon BoyamaOp = new Rota.Operasyon(1, "Boyama", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez1);
            Rota.Operasyon TaslamaOp = new Rota.Operasyon(2, "Taşlama", new TimeSpan(0, 1, 0), new TimeSpan(0, 5, 0), merkez2);
            Rota.Operasyon KaynakOp = new Rota.Operasyon(3, "Kaynak", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez1);
            Rota.Operasyon MontajOp1 = new Rota.Operasyon(4, "Montaj 1", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez3);
            Rota.Operasyon MontajOp2 = new Rota.Operasyon(5, "Montaj 2", new TimeSpan(0, 5, 0), new TimeSpan(0, 5, 0), merkez2);
            Rota.Operasyon MontajOp3 = new Rota.Operasyon(6, "Montaj 3", new TimeSpan(0, 2, 0), new TimeSpan(0, 5, 0), merkez3);
            Rota.Operasyon MontajOp4 = new Rota.Operasyon(7, "Montaj 4", new TimeSpan(0, 1, 0), new TimeSpan(0, 5, 0), merkez2);
            Rota.Operasyon TornaOp = new Rota.Operasyon(8, "Torna", new TimeSpan(0, 5, 0), new TimeSpan(0, 15, 0), merkez1);
            Rota.Operasyon MatkapOp = new Rota.Operasyon(9, "Matkap", new TimeSpan(0, 2, 0), new TimeSpan(0, 10, 0), merkez3);
            List<Rota.Operasyon> OpList = new List<Rota.Operasyon>();
            OpList.Add(BoyamaOp);
            OpList.Add(TaslamaOp);
            OpList.Add(KaynakOp);
            OpList.Add(MontajOp1);
            OpList.Add(MontajOp2);
            OpList.Add(MontajOp3);
            OpList.Add(TornaOp);
            OpList.Add(MatkapOp);


             YariMamul IYariMamul = new YariMamul();
            IYariMamul.Kod = 375;
            IYariMamul.Ad = "I Yarı Mamülü";

            YariMamul HYariMamul = new YariMamul();
            HYariMamul.Kod = 315;
            HYariMamul.Ad = "H Yarı Mamülü";

            YariMamul GYariMamul = new YariMamul();
            GYariMamul.Kod = 335;
            GYariMamul.Ad = "G Yarı Mamülü";
            GYariMamul.Ekle(IYariMamul);

            YariMamul DYariMamul = new YariMamul();
            DYariMamul.Ad = "D Yarı Mamülü";
            DYariMamul.Kod = 123;
            DYariMamul.Ekle(GYariMamul);
            DYariMamul.Ekle(HYariMamul);

            YariMamul EYariMamul = new YariMamul();
            EYariMamul.Kod = 234;
            EYariMamul.Ad = "E Yarı Mamülü";

            YariMamul FYariMamul = new YariMamul();
            FYariMamul.Kod = 395;
            FYariMamul.Ad = "F Yarı Mamülü";

            YariMamul CYariMamul = new YariMamul();
            CYariMamul.Kod = 345;
            CYariMamul.Ad = "C Yarı Mamülü";
            CYariMamul.Ekle(EYariMamul);
            CYariMamul.Ekle(FYariMamul);

            YariMamul BYariMamul = new YariMamul();
            BYariMamul.Ad = "B yarı Mamülü";
            BYariMamul.Kod = 456;

            Mamul AMamul = new Mamul();
            AMamul.Ad = "A Mamülü";
            AMamul.Kod = 567;
            AMamul.Ekle(BYariMamul);
            AMamul.Ekle(CYariMamul);
            AMamul.Ekle(DYariMamul);


            Rota.RotaParcasi AnaParca = new Rota.RotaParcasi(AMamul,1);
            AnaParca.Tanim = "Ana Parça";
            
            AnaParca.OperasyonEkle(KaynakOp);
            AnaParca.OperasyonEkle(TaslamaOp);
            AnaParca.OperasyonEkle(BoyamaOp);

            Rota.RotaParcasi ParcaB = new Rota.RotaParcasi(BYariMamul,1);
            ParcaB.Tanim = "Parça B";
            ParcaB.StokKodu = 456;


            KaynakOp.RotaParcasiEkle(ParcaB);

            Rota.RotaParcasi ParcaC = new Rota.RotaParcasi(CYariMamul, 2);
            ParcaC.Tanim = "Parça C";
            ParcaC.StokKodu = 345;
            KaynakOp.RotaParcasiEkle(ParcaC);

            ParcaC.OperasyonEkle(MontajOp4);
            ParcaC.OperasyonEkle(MontajOp3);
            

            Rota.RotaParcasi ParcaD = new Rota.RotaParcasi(DYariMamul, 2);
            ParcaD.Tanim = "Parça D";
            ParcaD.StokKodu = 123;

            KaynakOp.RotaParcasiEkle(ParcaD);

            ParcaD.OperasyonEkle(MontajOp1);
            ParcaD.OperasyonEkle(MontajOp2);

            Rota.RotaParcasi ParcaE = new Rota.RotaParcasi(EYariMamul, 1);
            ParcaE.Tanim = "Parça E";
            ParcaE.StokKodu = 345;
            MontajOp4.RotaParcasiEkle(ParcaE);

            Rota.RotaParcasi ParcaF = new Rota.RotaParcasi(FYariMamul, 2);
            ParcaF.Tanim = "Parça F";
            ParcaF.StokKodu = 345;
            MontajOp4.RotaParcasiEkle(ParcaF);

            

            

            Rota.RotaParcasi ParcaG = new Rota.RotaParcasi(GYariMamul, 2);
            ParcaG.Tanim = "Parça G";
            ParcaG.StokKodu = 345;
            MontajOp1.RotaParcasiEkle(ParcaG);

            ParcaG.OperasyonEkle(MatkapOp);
            ParcaG.OperasyonEkle(TornaOp);


            Rota.RotaParcasi ParcaH = new Rota.RotaParcasi(HYariMamul, 1);
            ParcaH.Tanim = "Parça H";
            ParcaH.StokKodu = 345;
            MontajOp1.RotaParcasiEkle(ParcaH);

            Rota.RotaParcasi ParcaI = new Rota.RotaParcasi(IYariMamul, 1);
            ParcaI.Tanim = "Parça I";
            ParcaI.StokKodu = 345;
            MatkapOp.RotaParcasiEkle(ParcaI);

            
            
            return AnaParca;
        }

        public static Stok OrnekStok()
        {
            YariMamul IYariMamul = new YariMamul();
            IYariMamul.Kod = 375;
            IYariMamul.Ad = "I Yarı Mamülü";

            YariMamul HYariMamul = new YariMamul();
            HYariMamul.Kod = 315;
            HYariMamul.Ad = "H Yarı Mamülü";

            YariMamul GYariMamul = new YariMamul();
            GYariMamul.Kod = 335;
            GYariMamul.Ad = "G Yarı Mamülü";
            GYariMamul.Ekle(IYariMamul);

            YariMamul DYariMamul = new YariMamul();
            DYariMamul.Ad = "D Yarı Mamülü";
            DYariMamul.Kod = 123;
            DYariMamul.Ekle(GYariMamul);
            DYariMamul.Ekle(HYariMamul);

            YariMamul EYariMamul = new YariMamul();
            EYariMamul.Kod = 234;
            EYariMamul.Ad = "E Yarı Mamülü";

            YariMamul FYariMamul = new YariMamul();
            FYariMamul.Kod = 395;
            FYariMamul.Ad = "F Yarı Mamülü";

            YariMamul CYariMamul = new YariMamul();
            CYariMamul.Kod = 345;
            CYariMamul.Ad = "C Yarı Mamülü";
            CYariMamul.Ekle(EYariMamul);
            CYariMamul.Ekle(FYariMamul);

            YariMamul BYariMamul = new YariMamul();
            BYariMamul.Ad = "B yarı Mamülü";
            BYariMamul.Kod = 456;

            Mamul AMamul = new Mamul();
            AMamul.Ad = "A Mamülü";
            AMamul.Kod = 567;
            AMamul.Ekle(BYariMamul);
            AMamul.Ekle(CYariMamul);
            AMamul.Ekle(DYariMamul);

            return AMamul;
        }
        
        

    }
}
